package com.ruoyi.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.ruoyi.config.Iso8601LocalDateDeserializer;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 日报实体类
 */
@Data
public class DailyReport implements Serializable {

    private Long id; // 日报ID
    private Long userId; // 用户ID
    private String workerName; // 工作人员姓名

    // 使用自定义的反序列化器来处理 ISO-8601 格式的日期
    @JsonDeserialize(using = Iso8601LocalDateDeserializer.class)
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") // 输出格式
    private LocalDate workDate; // 工作日期

    private String status; // 日报状态 ('草稿' or '已提交')


    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime createdAt;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime updatedAt;

    private List<ReportItem> reportItems; // 日报中的工作内容列表
}
